////向量
//#include <iostream>
//#include <vector>
//#include <cstdio>
//#include <algorithm>//find/sort
//using namespace std;
//
//class Student {
//public:
//	Student(const string& name = "", int age = 0) :m_name(name), m_age(age) {
//	}
//	bool operator == (const Student& that)const {
//		return m_name == that.m_name && m_name == that_name;
//	}
//	bool operator<(const Student& that)const {
//		return m_age < that.m_age;
//	}
//	bool operator>(const Student& that)const {
//		return m_age > that.m_age;
//	}
//
//private:
//	string m_name;//姓名
//	int m_age;//年龄
//	friend ostream& operator<<(ostream& os, const Student& stu);
//};
//
//ostream& operator<<(ostream& os, const Student& stu) {
//	return os << stu.m_name << ':' << stu.m_age;
//}
//
//void print(const string& str, vector<Student>& v) {
//	cout << str << endl;
//	typedef vector<Student>::iterator IT;
//	for (IT it = v.begin(); it != v.end(); ++it) {
//		cout << *it << endl;
//	}
//	cout << "================" << endl;
//}
//
//int main() {
//	vector<Student> vs;
//	vs.reserve(10);
//	vs.push_back(Student("张飞", 22));
//	vs.push_back(Student("赵云", 32));
//	vs.push_back(Student("关羽", 30));
//	vs.push_back(Student("马超", 36));
//	vs.push_back(Student("黄忠", 90));
//
//	print("添加元素后:", vs);
//
//	vs.insert(vs.begin(), Student("刘备", 33));//增
//	print("在迭代器指定位置插入元素后:", vs);
//
//	vs.erase(vs.begin());//删
//	print("在迭代器指定位置删除元素后:", vs);
//	IT it = vs.begin();
//
//	typedef vector<Student>::iterator IT;
//	IT it = vs.begin();
//	*it = Student （ "诸葛亮", 32);
//	print("更改迭代器指向位置的元素后:", vs);
//
//	IT fit = find(vs.begin(), vs.end(), Student("赵云"), 25);//查
//	if (fit != vs.end()) {
//		vs.erase(fit);
//		print("找到并删除后:", vs);
//	}
//	else {
//		cout << "没有找到:" << endl;
//	}
//	sort(vs.begin(), vs.end(), greater<Student>());
//	print("排序后:", vs);
//
//	cout << "vs的容量:" << vs.capacity() << endl;
//	cout << "vs的大小:" << vs.size() << endl;
//
//	vs.resize(3);//重新设置大小
//	print("resize之后", vs);
//	return 0;
//}